config BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS
	bool
	default y
	depends on !((BR2_arm || BR2_armeb) && BR2_BINFMT_FLAT)
	depends on !BR2_microblaze
	depends on !BR2_nios2
	depends on !BR2_or1k
	depends on !BR2_riscv
	depends on !BR2_nds32

comment "Host GDB Options"
	depends on !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY
	depends on BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS

comment "host gdb needs a host gcc >= 4.8"
	depends on BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS
	depends on !BR2_HOST_GCC_AT_LEAST_4_8

config BR2_PACKAGE_HOST_GDB
	bool "Build cross gdb for the host"
	# gdb >= 8.x needs C++11
	depends on BR2_HOST_GCC_AT_LEAST_4_8
	# When the external toolchain gdbserver is used, we shouldn't
	# allow to build a cross-gdb, as the one of the external
	# toolchain should be used.
	depends on !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY
	depends on BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS
	help
	  Build a cross gdb that runs on the host machine and debugs
	  programs running on the target. It requires 'gdbserver'
	  installed on the target, see BR2_PACKAGE_GDB_SERVER to
	  enable it.

if BR2_PACKAGE_HOST_GDB

config BR2_PACKAGE_HOST_GDB_TUI
	bool "TUI support"
	help
	  This option enables terminal user interface (TUI) for gdb

config BR2_PACKAGE_HOST_GDB_PYTHON
	bool "Python support"
	help
	  This option enables the Python support in the cross gdb.

config BR2_PACKAGE_HOST_GDB_SIM
	bool "Simulator support"
	depends on !BR2_arc
	help
	  This option enables the simulator support in the cross gdb.

choice
	prompt "GDB debugger Version"
	default BR2_GDB_VERSION_8_2
	depends on !BR2_arc
	depends on !BR2_csky
	help
	  Select the version of gdb you wish to use.

config BR2_GDB_VERSION_8_1
	bool "gdb 8.1.x"
	# Needs a C++11 compiler
	depends on BR2_HOST_GCC_AT_LEAST_4_8

config BR2_GDB_VERSION_8_2
	bool "gdb 8.2.x"
	# Needs a C++11 compiler
	depends on BR2_HOST_GCC_AT_LEAST_4_8

config BR2_GDB_VERSION_8_3
	bool "gdb 8.3.x"
	# Needs a C++11 compiler
	depends on BR2_HOST_GCC_AT_LEAST_4_8

endchoice

endif

# If cross-gdb is not enabled, the latest working version is chosen.
config BR2_GDB_VERSION
	string
	default "arc-2019.03-release-gdb" if BR2_arc
	default "4ecb98fbc2f94dbe01b69384afbc515107de73df" if BR2_csky
	default "8.1.1"    if BR2_GDB_VERSION_8_1
	default "8.2.1"    if BR2_GDB_VERSION_8_2 || !BR2_PACKAGE_HOST_GDB
	default "8.3"	   if BR2_GDB_VERSION_8_3
	depends on BR2_PACKAGE_GDB || BR2_PACKAGE_HOST_GDB
